package data

import "fmt"

type ListNode struct {
	Val  int
	Next *ListNode
}

var Head *ListNode

func (l *ListNode) PrintValue() {
	if l == nil {
		fmt.Println("nil")
		return
	}

	for l.Next != nil {
		fmt.Printf("%d ", l.Val)
		l = l.Next
	}

	fmt.Printf("%d \r\n", l.Val)
}

func init() {
	Head = &ListNode{
		Val:  1,
		Next: nil,
	}

	Head.Next = &ListNode{
		Val:  1,
		Next: nil,
	}

	Head.Next.Next = &ListNode{
		Val:  3,
		Next: nil,
	}

	Head.Next.Next.Next = &ListNode{
		Val:  3,
		Next: nil,
	}

	Head.Next.Next.Next.Next = &ListNode{
		Val:  5,
		Next: nil,
	}

	Head.Next.Next.Next.Next.Next = &ListNode{
		Val:  5,
		Next: nil,
	}

	Head.Next.Next.Next.Next.Next.Next = &ListNode{
		Val:  6,
		Next: nil,
	}

	Head.Next.Next.Next.Next.Next.Next.Next = &ListNode{
		Val:  6,
		Next: nil,
	}
}
